﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ResponseObject
{
    public enum ErrorCodes
    {
        CODE_ERR_NO_ERR,
        CODE_ERR_INTERNAL_ERR,
        CODE_ERR_ON_REG_USER_EXISTS,
        CODE_ERR_ON_REG_NICKNAME_EXISTS,
        CODE_ERR_ON_REG_SNS_ACCT_EXISTS,
        CODE_ERR_ON_LOGON_USER_NOT_EXISTS,
        CODE_ERR_ON_LOGON_DEVICE_ID_NOT_MATCHED,
        CODE_ERR_ON_REQ_CATALOG_LIST,
        CODE_ERR_ON_REQ_BRAND_LIST,
        CODE_ERR_ON_REQ_CATALOG_LIST_ZERO_RESULT_SET,
        CODE_ERR_ON_REQ_BRAND_LIST_ZERO_RESULT_SET,
        CODE_ERR_ON_REQ_STORE_LIST_ZERO_RESULT_SET,
        CODE_ERR_ON_SUBSCRIPTION_CUSTOMIZATION,
        CODE_ERR_ON_NEARBY_DISCUSSTIONGROUP_EXISTS,
        CODE_ERR_ON_NEARBY_DISCUSSTIONGROUP_DELETE_FAIL,
        CODE_ERR_ON_NAV_FAIL,
        CODE_ERR_ON_NAV_NO_NODES_DETECT,
        CODE_ERR_ON_BACKEND_ADD_STORE,
        CODE_ERR_ON_BACKEND_LOCATION_EXIST,
        CODE_ERR_ON_BACKEND_BRAND_EXISTS,
        CODE_ERR_ON_BACKEND_ACTIVITY_EXISTS,
        CODE_ERR_ON_PUSH_MSG_NOT_PUSHED,
        CODE_ERR_ON_DELETE_STORE_FAIL,
        CODE_ERR_ON_UPLOAD_NO_FILE,
        CODE_ERR_ON_CATALOG_CODE_EXISTS,
        CODE_ERR_ON_BRAND_CODE_EXISTS,
        CODE_ERR_ON_REQ_NO_RESULT
    }

    public class ErrorMsgs
    {
        public const string MSG_ERR_NO_ERR = "no error";
        public const string MSG_ERR_INTERNAL_ERR = @"internal server error";
        /**
         *
         * User Login/Register Error
         * 
         */
        public const string MSG_ERR_ON_REG_USER_EXISTS = "user is already registered";
        public const string MSG_ERR_ON_REG_NICKNAME_EXISTS = "nickname is already used";
        public const string MSG_ERR_ON_LOGON_USER_NOT_EXISTS = "user is not registered";
        public const string MSG_ERR_ON_LOGON_DEVICE_ID_NOT_MATCHED = "user logon device is changed";
        public const string MSG_ERR_ON_REG_SNS_ACCT_EXISTS = "the sns account had been already bound";

        /**
         *
         * User customization Error
         * 
         */
        public const string MSG_ERR_ON_SUBSCRIPTION_CUSTOMIZATION = "customization subscription error";
        /**
         *
         * Near By Error
         * 
         */
        public const string MSG_ERR_ON_NEARBY_DISCUSSTIONGROUP_EXISTS = "duplicate discussion group";
        public const string MSG_ERR_ON_NEARBY_DISCUSSTIONGROUP_DELETE_FAIL = "fail to dismiss dicussion group";

        /**
         * 
         * Push Notification Error
         */
        public const string MSG_ERR_ON_PUSH_MSG_NOT_PUSHED = "message is not pushed.";

        /**
         * 
         * Navigation Error
         */
        public const string MSG_ERR_ON_NAV_FAIL = "navigation path get failed";
        public const string MSG_ERR_ON_NAV_NO_NODES_DETECT = "no recommended navigation path";

        /**
         * General System Error
         */
        public const string MSG_ERR_ON_UPLOAD_NO_FILE = "No files received";
        public const string MSG_ERR_ON_REQ_CATALOG_LIST_ZERO_RESULT_SET = "No catalog @ remote database";
        public const string MSG_ERR_ON_REQ_BRAND_LIST_ZERO_RESULT_SET = "No brand @ remote database";
        public const string MSG_ERR_ON_REQ_STORE_LIST_ZERO_RESULT_SET = "No store @ remote database";
        public const string MSG_ERR_ON_REQ_CATALOG_LIST = "request catalog list error";
        public const string MSG_ERR_ON_REQ_BRAND_LIST = "request brand list error or zero result set";
        public const string MSG_ERR_ON_CATALOG_CODE_EXISTS = "catalog code dumplicate";
        public const string MSG_ERR_ON_BRAND_CODE_EXISTS = "brand code dumplicate";

        /**
         * Backend System Error
         */

        public const string MSG_ERR_ON_BACKEND_ADD_STORE = "store adding process error";
        public const string MSG_ERR_ON_BACKEND_LOCATION_EXIST = "Location Exists";
        public const string MSG_ERR_ON_BACKEND_BRAND_EXISTS = "brand exists";
        public const string MSG_ERR_ON_BACKEND_ACTIVITY_EXISTS = "activity exists";
        public const string MSG_ERR_ON_DELETE_STORE_FAIL = "delete store fail";
        public const string MSG_ERR_ON_REQ_NO_RESULT = "no result";
    }
}
